using System.Text;
using System.Collections.Specialized;
namespace PortabilityProblems
{
///
/// Summary description for Class1.
///
class PortabilityProblems
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main(string[] args)
{
try
{
FileStream outputFile = new FileStream("testfile.txt", FileMode.Create, FileAccess.ReadWrite);
outputFile.Write(Encoding.ASCII.GetBytes("012345678^"), 0, 10);
outputFile.Position = 0L;
byte[] currentContents = new byte[outputFile.Length];
outputFile.Read(currentContents, 0, (int)outputFile.Length);
outputFile.Seek(-1L, SeekOrigin.Current);
outputFile.Write(Encoding.ASCII.GetBytes("A^"), 0, 2);
outputFile.Close();
outputFile = new FileStream("testfile.txt", FileMode.Open, FileAccess.Read);
byte[] contents = new byte[100];
int read = outputFile.Read(contents, 0, 100);
string strContents = Encoding.ASCII.GetString(contents, 0, read);
string expectedContents = "012345678A^";
if (strContents == expectedContents)
{
Console.WriteLine("RandomReadWriteFileAccessProblem: PASSED");
}
else
{
Console.WriteLine("RandomReadWriteFileAccessProblem: FAILED: expected contents '" + expectedContents + "' but got '" + strContents + "'.");
}
}
catch (Exception e)
{
Console.WriteLine("RandomReadWriteFileAccessProblem: FAILED: " + e.Message);
}
}
}
}